/*------------------------------------------------------------------------------
 * @file    LOG.H
 * @author  嵌入式王子
 * @email   donminedm@163.com
 * @date    2024/07/24 21:53:13
 * @brief   开源的嵌入式软件包，本人不对此代码负责任
 * -----------------------------------------------------------------------------*/

#ifndef _LOG_H_
#define _LOG_H_

#include <stdio.h>


//    @brief 内置宏定义说明
//     __LINE__：在源代码中插入当前源代码行号
//     __FILE__：在源文件中插入当前源文件名
//     __DATE__：在源文件中插入当前的编译日期
//     __TIME__：在源文件中插入当前编译时间
//     __FUNCTION__ 调用此行的函数名称的字符串
//     ##__VA_ARGS__ 参数内联

// printf( const char *format, ... );

// printf("hello %s" , world) fmt -> "hello"
//  日志头         信息    参数
// "debug"       "hello %s"   world
// 调试提示
#define logd(fmt, ...) printf("|DEBUG| %s:%d |" fmt "\r\n",  __FUNCTION__, __LINE__, ##__VA_ARGS__)

// 信息提示
#define logi(fmt, ...) printf("|INFO | %s:%d |" fmt "\r\n",  __FUNCTION__, __LINE__, ##__VA_ARGS__)

// 系统警告
#define logw(fmt, ...) printf("|WRAN | %s:%d |" fmt "\r\n",  __FUNCTION__, __LINE__, ##__VA_ARGS__)

// 系统错误
#define loge(fmt, ...) printf("|ERROR| %s:%d |" fmt "\r\n",  __FUNCTION__, __LINE__, ##__VA_ARGS__)

#endif // !_LOG_H_